#include "StdAfx.h"
#include "OCAFApplication.h"

#include <TDF_Label.hxx>
#include <TPrsStd_AISPresentation.hxx>
#include <TPrsStd_AISViewer.hxx>
#include <TNaming_NamedShape.hxx>
#include <TColStd_SequenceOfExtendedString.hxx> 


TOcaf_Application::TOcaf_Application()
{

}

void TOcaf_Application::Formats(TColStd_SequenceOfExtendedString& Formats) 
{  
	Formats.Append(TCollection_ExtendedString ("Ocaf-Sample"));    
	Formats.Append(TCollection_ExtendedString ("MDTV-Standard"));
	Formats.Append(TCollection_ExtendedString("BinOcaf"));
	Formats.Append(TCollection_ExtendedString("XmlOcaf"));

}


Standard_CString TOcaf_Application::ResourcesName() 
{
	return Standard_CString ("Resources");
}


//////////////////////////////////////////////////////////////////////////
const Handle(TOcaf_Application) Handle(TOcaf_Application)::DownCast(const Handle(Standard_Transient)& AnObject) 
{
	Handle(TOcaf_Application) _anOtherObject;

	if (!AnObject.IsNull()) {
		if (AnObject->IsKind(STANDARD_TYPE(TOcaf_Application))) {
			_anOtherObject = Handle(TOcaf_Application)((Handle(TOcaf_Application)&)AnObject);
		}
	}

	return _anOtherObject ;
}
const Handle(Standard_Type)& TOcaf_Application::DynamicType() const 
{ 
	return STANDARD_TYPE(TOcaf_Application) ; 
}
Standard_Boolean TOcaf_Application::IsKind(const Handle(Standard_Type)& AType) const 
{ 
	return (STANDARD_TYPE(TOcaf_Application) == AType); 
}

TOcaf_Application::~TOcaf_Application() {}

// Warning!!!
Handle_Standard_Type& TOcaf_Application_Type_()
{
	static Handle_Standard_Type aType1 = STANDARD_TYPE(TOcaf_Application);
	if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TOcaf_Application);
	static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
	if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
	static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
	if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);


	static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
	static Handle_Standard_Type _aType = new Standard_Type("TOcafFunction_CutDriver",
		sizeof(TOcaf_Application),
		1,
		(Standard_Address)_Ancestors,
		(Standard_Address)NULL);

	return _aType;
}